home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / perl / 5.10.0 / POSIX.pm < prev    next >
Text File  |  2009-10-01  |  2KB  |  87 lines

  1. package POSIX;
  2. use strict;
  3. use warnings;
  4.  
  5. our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
  6.  
  7. our $VERSION = "1.13";
  8.  
  9. use AutoLoader;
  10.  
  11. use XSLoader ();
  12.  
  13. use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
  14.          F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
  15.          O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
  16.          O_WRONLY SEEK_CUR SEEK_END SEEK_SET
  17.          S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
  18.          S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
  19.  
  20. # Grandfather old foo_h form to new :foo_h form
  21. my $loaded;
  22.  
  23. sub import {
  24.     load_imports() unless $loaded++;
  25.     my $this = shift;
  26.     my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
  27.     local $Exporter::ExportLevel = 1;
  28.     Exporter::import($this,@list);
  29. }
  30.  
  31. sub croak { require Carp;  goto &Carp::croak }
  32. # declare usage to assist AutoLoad
  33. sub usage;
  34.  
  35. XSLoader::load 'POSIX', $VERSION;
  36.  
  37. my %NON_CONSTS = (map {($_,1)}
  38.                   qw(S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG WEXITSTATUS
  39.                      WIFEXITED WIFSIGNALED WIFSTOPPED WSTOPSIG WTERMSIG));
  40.  
  41. sub AUTOLOAD {
  42.     no strict;
  43.     no warnings 'uninitialized';
  44.     if ($AUTOLOAD =~ /::(_?[a-z])/) {
  45.     # require AutoLoader;
  46.     $AutoLoader::AUTOLOAD = $AUTOLOAD;
  47.     goto &AutoLoader::AUTOLOAD
  48.     }
  49.     local $! = 0;
  50.     my $constname = $AUTOLOAD;
  51.     $constname =~ s/.*:://;
  52.     if ($NON_CONSTS{$constname}) {
  53.         my ($val, $error) = &int_macro_int($constname, $_[0]);
  54.         croak $error if $error;
  55.         *$AUTOLOAD = sub { &int_macro_int($constname, $_[0]) };
  56.     } else {
  57.         my ($error, $val) = constant($constname);
  58.         croak $error if $error;
  59.     *$AUTOLOAD = sub { $val };
  60.     }
  61.  
  62.     goto &$AUTOLOAD;
  63. }
  64.  
  65. package POSIX::SigAction;
  66.  
  67. use AutoLoader 'AUTOLOAD';
  68.  
  69. package POSIX::SigRt;
  70.  
  71. use AutoLoader 'AUTOLOAD';
  72.  
  73. use Tie::Hash;
  74.  
  75. use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
  76. @POSIX::SigRt::ISA = qw(Tie::StdHash);
  77.  
  78. $SIGACTION_FLAGS = 0;
  79.  
  80. tie %POSIX::SIGRT, 'POSIX::SigRt';
  81.  
  82. sub DESTROY {};
  83.  
  84. package POSIX;
  85.  
  86. 1;
  87.